package cn.wolfcode.luowowo.search.domain;

import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.io.Serializable;

/**
 * 目的地搜索对象
 */
@Getter
@Setter
@Document(indexName = "luowowo_destination", type = "destination")
public class DestinationEs implements Serializable {
    public static final String INDEX_NAME = "luowowo_destination";
    public static final String TYPE_NAME = "destination";
    @Id

    // 指定存储时和检索时使用的分词器是同一个
    // index=true 表示索引
    // 是否索引, 就是看这个字段是否能被搜索, 比如: 如果对整篇文章建立了索引,那么从文章中任意抽出一段来,都可以搜索出这个文章
    // 是否分词, 就是表示搜索的时候,是整体匹配还是单词匹配  比如: 如果不分词的话,搜索时,一个词不一样,都搜索不出来结果

    // 是否存储, 就是,是否在页面上展示 , 但是在es中默认字段值已经存储在_source 字段里， 也是能检索出原始字段的
    // analyzer 存进去的时候,按这个分词
    //searchAnalyzer: 搜索时,按这个分词
    //@Field 每个文档的字段配置（类型、是否分词、是否存储、分词器 ）
    @Field(store = true, index = false, type = FieldType.Keyword)
    private String id;  //攻略id
    @Field(index = true, store = true, type = FieldType.Keyword)
    private String name;
    @Field(index = true, analyzer = "ik_max_word", store = true, searchAnalyzer = "ik_max_word", type = FieldType.Text)
    private String info;
}